#!/bin/bash

# 定义服务器信息
SERVER="root@47.120.14.68"
REMOTE_DIR="/root/money/match-management-app"

# 连接到服务器并执行命令
ssh $SERVER << EOF
    # 提示输入密码
    echo "请输入服务器密码："
    sudo -v

    # 进入指定目录
    echo "正在进入目录 $REMOTE_DIR ..."
    cd $REMOTE_DIR || exit

    # 设置 NVM 环境
    export NVM_DIR="\$HOME/.nvm"
    [ -s "\$NVM_DIR/nvm.sh" ] && \. "\$NVM_DIR/nvm.sh"

    # 尝试使用 which 命令找到 yarn 和 pm2，如果失败则使用固定路径
    YARN_PATH=\$(which yarn 2>/dev/null || echo "/root/.nvm/versions/node/v23.3.0/bin/yarn")
    PM2_PATH=\$(which pm2 2>/dev/null || echo "/root/.nvm/versions/node/v23.3.0/bin/pm2")

    echo "使用 Yarn 路径: \$YARN_PATH"
    echo "使用 PM2 路径: \$PM2_PATH"

    # 执行 git pull
    echo "正在拉取最新代码..."
    git checkout .
    git pull

    # 检查 git pull 是否成功
    if [ \$? -eq 0 ]; then
        echo "代码拉取成功，正在安装依赖..."
        \$YARN_PATH

        echo "正在构建项目..."
        \$YARN_PATH build

    else
        echo "git pull 失败，请检查您的代码仓库状态。"
        exit 1
    fi
EOF

echo "部署脚本执行完毕。"